import os
import json
import time
from subStore import storeMap
from config import missionConf

class Store:
    _subStore = {}

    def getSubStore(self, storeId):
        if isinstance(storeId, int):
            storeId = str(storeId) # json 中不允许以数字为键，所以这里转换成了 str
        if storeId not in self._subStore:
            v = missionConf["mission"][storeId]["config"]
            self._subStore[storeId] = storeMap(
                storeType = v["missionType"],
                sdsId = storeId, # storeId 和 missionId 是同一个，只是叫法上的区别
                dir = v["path"]
            )
        return self._subStore[storeId]
    
    def dropSubStore(self, storeId):
        if isinstance(storeId, int):
            storeId = str(storeId)
        self._subStore.pop(storeId) # Python 会自动回收
    
mainStore = Store()